#include <iostream>
#include <vector>
using namespace std;
template <typename T>
T mins(T a, T b)
{
    if( a<b)
        return a;
    else
        return b;
}
template<class T>
class MyVector
{
    public: 
        vector<T> vec;
    MyVector()
    {
        
    }
    void add(T t)
    {
        vec.push_back(t);
    }
    friend ostream & operator<<(ostream & out, MyVector& mv);
};
template<class T>
ostream & operator<<(ostream & out, MyVector<T> & mv)
    {
        for(auto e:mv.vec)
           out<<e;
        return out;
    }

int main()
{
    cout<< mins(3,5);
    MyVector<int> mv;
    mv.add(10);
    mv.add(100);
    cout<<mv;

}